<!-- 
    自定义属性的目的：是为了保存并使用数据，有些数据可以保存到网页中而不用到数据库中
    自定义属性是通过getattribute('属性')获取
    有些自定义属性很容易受歧义，不容易判断是元素内置属性还是自定义属性

    h5规定自定义属性data-开头作为属性名并且赋值  <div data-index="1"> </dvi>
 -->

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div getTime="20" data-index="2" data-list-name="andy"></div>
    <script>
        var div = document.querySelector('div')   //获取元素

        console.log(div.getTime);
        //第一种方法：元素.属性这适合于内置属性获取元素中属性的的值  ，undefined
        console.log(div.getAttribute('getTime'));
        //   element.getAttribute('属性')  这个适合于自定义属性

        //设置自定义属性
        div.setAttribute('data-time', "30")

        //第一种方法：获取自定义属性的值  元素.getAttribute('属性')
        console.log(div.getAttribute('data-time'));
        console.log(div.getAttribute('data-list-name'));

        //第二种方法：h5获取自定义属性的值方法 元素.dataset.(data开头后面的字母)
        console.log(div.dataset)  //dataset是一个集合，里面存放所有以data开头的自定义属性
        console.log(div.dataset.index);
        console.log(div.dataset['index']);
        console.log(div.dataset.time);  //data开头后面为time的属性值  data-time的值


        // 如果自定义属性里面有多个-链接的单词例如：data-list-name="andy"。
        //我们获取的时候采取驼峰命名法   dataset ie11兼容
        console.log(div.dataset.listName);
        console.log(div.dataset['listName']);


    </script>
</body>

</html>